Branch Prediction Techniques and Optimizations

نویسنده

  • Raj Parihar
چکیده

Branch prediction is one of the ancient performance improving techniques which still finds relevance into modern architectures. While the simple prediction techniques provide fast lookup and power efficiency they suffer from high misprediction rate. On the other hand, complex branch predictions – either neural based or variants of two-level branch prediction – provide better prediction accuracy but consume more power and complexity increases exponentially. In addition to this, in complex prediction techniques the time taken to predict the branches is itself very high – ranging from 2 to 5 cycles – which is comparable to the execution time of actual branches. Branch prediction is essentially an optimization (minimization) problem where the emphasis is on to achieve lowest possible miss rate, low power consumption and low complexity with minimum resources. In this survey paper we review the traditional Two-level branch prediction techniques; their variants and the underlying principles which make them predict accurately. We also briefly discuss the Perceptron based technique which uses lightweight neural network technique to predict the outcome of branches.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Deconstructing the Frankenpredictor for Implementable Branch Predictors

The Frankenpredictor entry for the Championship Branch Prediction contest proposed several new optimizations for branch predictors. The Frankenpredictor also assimilated many previously proposed techniques. The rules of the contest were such that implementation concerns were largely ignored. In this context, many of the proposed optimizations may not actually be feasible in a realizable predict...

متن کامل

Compiler Support for Value-Based Indirect Branch Prediction

Indirect branch targets are hard to predict as there may be multiple targets corresponding to a single indirect branch instruction. Value Based BTB Indexing (VBBI), a recently proposed indirect branch prediction technique, utilizes the compiler to identify a ‘hint instruction’, whose output value strongly correlates with the target address of an indirect branch. At run time, multiple targets ar...

متن کامل

Static Techniques to Improve Power Efficiency of Branch Predictors

In this paper, we illustrate the application of two static techniques to reduce the activities of the branch predictor in a processor leading to its significant power reduction. We introduce the use of a static branch target buffer (BTB) that achieves the similar performance to the traditional branch target buffer but which eliminates most of the state updates thus reducing the power consumptio...

متن کامل

A Study of Dynamic Branch Prediction for SHARC DSPs

Digital signal processors (DSPs) have begun to utilize architectural features typically found on general purpose microprocessors. The impact of using many of these features includes an increased dependence on performance optimizations both in hardware and software. Sophisticated analysis tools are needed in order to better understand the performance implications of these optimizations when appl...

متن کامل

Static Branch Prediction Using High-Level Language Control Structure

The ability to correctly predict conditional branch behavior at compilation time enables compilers to protably apply code optimizations as well as to improve code layout and achieve a better schedule by increasing instruction level parallelism. Prole-based static prediction produces accurate predictions but requires programmer intervention. Analternativeis to applystatic(i.e., heuristic-based)b...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009